From: Carlos Soriano Date: Wed, 19 Mar 2014 14:23:05 +0000 (+0500) Subject: dateMenu: Don't make dateMenuButton reactive on current day X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~2508 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=19afabe2a1e1b50603cbdee8f1fb9f6bef4fb494;p=gnome-shell.git dateMenu: Don't make dateMenuButton reactive on current day Having the ability to go to the current date if the user is already on the current date can be confusing. So don't make the button reactive until the selected date changes. https://bugzilla.gnome.org/show_bug.cgi?id=726724 --- diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js index e86960706..009df83aa 100644 --- a/js/ui/dateMenu.js +++ b/js/ui/dateMenu.js @@ -63,8 +63,11 @@ const DateMenuButton = new Lang.Class({ hbox.add(vbox); // Date + // Having the ability to go to the current date if the user is already + // on the current date can be confusing. So don't make the button reactive + // until the selected date changes. this._date = new St.Button({ style_class: 'datemenu-date-label', - can_focus: true, + reactive: false }); this._date.connect('clicked', Lang.bind(this, function() { @@ -82,6 +85,9 @@ const DateMenuButton = new Lang.Class({ // and the calender makes those dates unclickable when instantiated with // a null event source this._eventList.setDate(date); + + // Make the button reactive only if the selected date is not the current date. + this._date.can_focus = this._date.reactive = !this._isToday(date) })); vbox.add(this._calendar.actor); @@ -132,6 +138,13 @@ const DateMenuButton = new Lang.Class({ this._sessionUpdated(); }, + _isToday: function(date) { + let now = new Date(); + return now.getYear() == date.getYear() && + now.getMonth() == date.getMonth() && + now.getDay() == date.getDay(); + }, + _appInstalledChanged: function() { this._calendarApp = undefined; this._updateEventsVisibility();